package info.peigen.hotpot.common.core.annotation;

import info.peigen.hotpot.common.core.enums.CommentType;

import java.lang.annotation.*;

/**
 * <b>(Comment)</b>
 * <p>
 * 针对Api类属性和方法的注解，用以生成文档
 * 具体参考hotpot-component-doc
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2023/12/1
 */
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Comment {
    /** 描述 */
    String value();

    /** 描述类型 */
    CommentType type() default CommentType.String;

    /** Json Class */
    Class<?> jsonClass() default String.class;

    /** 忽略此属性 */
    boolean ignore() default false;
}
